home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue46 / ADO / ADOExamplesU1.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1999-05-05  |  4.6 KB  |  189 lines

  1. unit ADOExamplesU1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, Db, DBTables, Grids, DBGrids;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Memo1: TMemo;
  13.     Button2: TButton;
  14.     Button3: TButton;
  15.     DBGrid1: TDBGrid;
  16.     DataSource1: TDataSource;
  17.     tblSuppliers: TTable;
  18.     Button4: TButton;
  19.     Button6: TButton;
  20.     Button7: TButton;
  21.     Memo2: TMemo;
  22.     Label1: TLabel;
  23.     edtCountry: TEdit;
  24.     CheckBox1: TCheckBox;
  25.     Label2: TLabel;
  26.     edtDSN: TEdit;
  27.     procedure Button1Click(Sender: TObject);
  28.     procedure Button2Click(Sender: TObject);
  29.     procedure Button3Click(Sender: TObject);
  30.     procedure Button4Click(Sender: TObject);
  31.     procedure Button6Click(Sender: TObject);
  32.     procedure Button7Click(Sender: TObject);
  33.     procedure CheckBox1Click(Sender: TObject);
  34.   private
  35.     { Private declarations }
  36.   public
  37.     { Public declarations }
  38.   end;
  39.  
  40. var
  41.   Form1: TForm1;
  42.  
  43. implementation
  44.  
  45. {$R *.DFM}
  46.  
  47. uses
  48.   ADODB_TLB;
  49.  
  50. procedure TForm1.Button1Click(Sender: TObject);
  51. var
  52.   Conn: _Connection;
  53.   RS: _RecordSet;
  54. begin
  55.   Conn:=CoConnection.Create;
  56.   Conn.Open('DSN='+edtDSN.Text, '', '', -1);
  57.  
  58.   RS:=CoRecordSet.Create;
  59.  
  60.   RS.Open('Suppliers', Conn,
  61.   adOpenForwardOnly, adLockReadOnly, adCmdTable);
  62.  
  63.   Memo1.Lines.Add(RS.Fields.Item[1].Value);
  64.  
  65.   RS.Close;
  66.   Conn.Close;
  67. end;
  68.  
  69. procedure TForm1.Button2Click(Sender: TObject);
  70. var
  71.   Conn: _Connection;
  72. begin
  73.   Conn:=CoConnection.Create;
  74.   Conn.Open('DSN='+edtDSN.Text, '', '', -1);
  75.  
  76.   Memo1.Lines.Add('ADO Version     : '+Conn.Version);
  77.   Memo1.Lines.Add('DBMS Name       : '+Conn.Properties.Item['DBMS Name'].Value);
  78.   Memo1.Lines.Add('DBMS Version    : '+Conn.Properties.Item['DBMS Version'].Value);
  79.   Memo1.Lines.Add('OLE DB Version  : '+Conn.Properties.Item['OLE DB Version'].Value);
  80.   Memo1.Lines.Add('Provider Name   : '+Conn.Properties.Item['Provider Name'].Value);
  81.   Memo1.Lines.Add('Provider Version: '+Conn.Properties.Item['Provider Version'].Value);
  82.   Memo1.Lines.Add('Driver Name     : '+Conn.Properties.Item['Driver Name'].Value);
  83.   Memo1.Lines.Add('Driver Version  : '+Conn.Properties.Item['Driver Version'].Value);
  84.   Memo1.Lines.Add('Driver ODBC Version: '+Conn.Properties.Item['Driver ODBC Version'].Value);
  85.  
  86.  
  87.   Conn.Close;
  88. end;
  89.  
  90. procedure TForm1.Button3Click(Sender: TObject);
  91. var
  92.   Conn: _Connection;
  93.   Command: _Command;
  94.   RS: _RecordSet;
  95.   RecordsAffected: OLEVariant;
  96. begin
  97.   Conn:=CoConnection.Create;
  98.   Conn.Open('DSN='+edtDSN.Text, '', '', -1);
  99.  
  100.   Command:=CoCommand.Create;
  101.   Command.Set_ActiveConnection(Conn);
  102.   Command.CommandText:='SELECT * FROM Suppliers';
  103.   Command.CommandType:=adCmdText;
  104.   RS:=Command.Execute(RecordsAffected, EmptyParam, -1);
  105.  
  106.   while not RS.EOF do
  107.   begin
  108.     Memo1.Lines.Add(RS.Fields.Item[1].Value);
  109.     RS.MoveNext;
  110.   end;
  111.  
  112.   RS.Close;
  113.   Conn.Close;
  114. end;
  115.  
  116. procedure TForm1.Button4Click(Sender: TObject);
  117. var
  118.   Conn: _Connection;
  119.   Command: _Command;
  120.   RS: _RecordSet;
  121.   RecordsAffected: OLEVariant;
  122.   Parameter: _Parameter;
  123. begin
  124.   Conn:=CoConnection.Create;
  125.   Conn.Open('DSN='+edtDSN.Text, '', '', -1);
  126.  
  127.   Command:=CoCommand.Create;
  128.   Command.Set_ActiveConnection(Conn);
  129.  
  130.   Parameter:=
  131.   Command.CreateParameter('PCOUNTRY', adBStr, adParamInput, Length(edtCountry.Text), edtCountry.Text);
  132.   Command.Parameters.Append(Parameter);
  133.  
  134.   Command.CommandText:='SELECT * FROM Suppliers WHERE COUNTRY=?';
  135.   Command.CommandType:=adCmdText;
  136.   RS:=Command.Execute(RecordsAffected, EmptyParam, -1);
  137.  
  138.   while not RS.EOF do
  139.   begin
  140.     Memo1.Lines.Add(RS.Fields.Item[1].Value);
  141.     RS.MoveNext;
  142.   end;
  143.  
  144.   RS.Close;
  145.   Conn.Close;
  146. end;
  147.  
  148. procedure TForm1.Button6Click(Sender: TObject);
  149. var
  150.   Conn: _Connection;
  151.   intProp: integer;
  152.   Prop: Property_;
  153.   strValue: WideString;
  154. begin
  155.   Conn:=CoConnection.Create;
  156.   Conn.Open('DSN='+edtDSN.Text, '', '', -1);
  157.   for intProp:=0 to Conn.Properties.Count - 1 do
  158.   begin
  159.     Prop:=Conn.Properties.Item[intProp];
  160.     strValue:=Prop.Value;
  161.       Memo1.Lines.Add(Prop.Name+' = '+strValue);
  162.   end;
  163.  
  164.   Conn.Close;
  165. end;
  166.  
  167. procedure TForm1.Button7Click(Sender: TObject);
  168. var
  169.   RS: _RecordSet;
  170. begin
  171.   RS:=CoRecordSet.Create;
  172.  
  173.   RS.Open('Suppliers',
  174.   'Driver=Microsoft Access Driver (*.mdb);'+
  175.   'DBQ=C:\Program Files\Microsoft Office\Office\Samples\Northwind.MDB',
  176.   adOpenForwardOnly, adLockReadOnly, adCmdTable);
  177.  
  178.   Memo1.Lines.Add(RS.Fields.Item[1].Value);
  179.  
  180.   RS.Close;
  181. end;
  182.  
  183. procedure TForm1.CheckBox1Click(Sender: TObject);
  184. begin
  185.   tblSuppliers.Active:=CheckBox1.Checked;
  186. end;
  187.  
  188. end.
  189.